package dryworks.examples.create.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import dryworks.jsf.examples.generator.GeneratorStringUtils;

public class CreateExampleTask {
	public static String DEFAULT_CATEGORY = "componentsUsageExamples";
	String name;

	String category = DEFAULT_CATEGORY;

	boolean needManagedBean = true;

	boolean needResourceBundle = true;

	boolean needLocalResourceBundle = true;

	boolean needInclude = true;

	String managedBeanName;

	List<String> additionalExamplesNames = new ArrayList<String>();

	public List<String> getAdditionalExamplesNames() {
		return additionalExamplesNames;
	}

	public void setAdditionalExamplesNames(List<String> additionalExamplesNames) {
		this.additionalExamplesNames = additionalExamplesNames;
	}

	public String getManagedBeanName() {
		return managedBeanName;
	}

	public void setManagedBeanName(String managedBeanName) {
		this.managedBeanName = managedBeanName;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public boolean isNeedManagedBean() {
		return needManagedBean;
	}

	public void setNeedManagedBean(boolean needManagedBean) {
		this.needManagedBean = needManagedBean;
	}

	public boolean isNeedLocalResourceBundle() {
		return needLocalResourceBundle;
	}

	public void setNeedLocalResourceBundle(boolean needLocalResourceBundle) {
		this.needLocalResourceBundle = needLocalResourceBundle;
	}

	public boolean isNeedResourceBundle() {
		return needResourceBundle;
	}

	public void setNeedResourceBundle(boolean needResourceBundle) {
		this.needResourceBundle = needResourceBundle;
	}

	public CreateExampleTask(String name) {
		super();
		this.name = name;
	}

	public CreateExampleTask(String name, String[] additionalExamplesNamesArray) {
		super();
		this.name = name;
		additionalExamplesNames = new ArrayList<String>();
		additionalExamplesNames.addAll(Arrays
				.asList(additionalExamplesNamesArray));
	}

	public CreateExampleTask(String name, String category) {
		super();
		this.name = name;
		this.category = category;
	}

	public CreateExampleTask(String name, boolean needManagedBean) {
		super();
		this.name = name;
		this.needManagedBean = needManagedBean;
	}

	public String getCategory() {
		return category;
	}

	public void setCategory(String category) {
		this.category = category;
	}

	public boolean isNeedInclude() {
		return needInclude;
	}

	public void setNeedInclude(boolean needInclude) {
		this.needInclude = needInclude;
	}
}
